#include "BluetoothMsgParser.h"
#include "cJSON.h"
#include "stdlib.h"
#include "stdio.h"
int parseMsgType(char *msg){
	
	//解析一个cjson对象 {"msgType":1,"content":{}}
	cJSON *root = cJSON_Parse(msg);
	
	
	//解析MsgType
	int result;
	if (root == NULL) {
			const char *error_ptr = cJSON_GetErrorPtr();
			if (error_ptr != NULL) {
					fprintf(stderr, "Error before: %s\n", error_ptr);
			}
			result = -1;
	}else{
			cJSON *msgObj = cJSON_GetObjectItem(root,"msgType");
			result = msgObj->valueint;
	}
	
	//切记用完了，要删除
	cJSON_Delete(root);
	return result;
	
}


int parseTHData(THData* data,char *msg){
	//解析一个cjson对象 {"msgType":1,"content":{"state":15,"temp":20}}
	cJSON *root = cJSON_Parse(msg);
	
	int result;
	//解析MsgType
	if (root == NULL) {
			const char *error_ptr = cJSON_GetErrorPtr();
			if (error_ptr != NULL) {
					fprintf(stderr, "Error before: %s\n", error_ptr);
			}
			result = 0;
	}else{
		
			//解析开关和阈值
			cJSON *contentObj = cJSON_GetObjectItem(root,"content");
		  data->state = cJSON_GetObjectItem(contentObj,"state")->valueint;
		  data->temp = cJSON_GetObjectItem(contentObj,"temp")->valueint;
		  data->temp1 = cJSON_GetObjectItem(contentObj,"temp1")->valueint;
		  data->humi = cJSON_GetObjectItem(contentObj,"humi")->valueint;
		  data->humi1 = cJSON_GetObjectItem(contentObj,"humi1")->valueint;
		  data->smoke = cJSON_GetObjectItem(contentObj,"smoke")->valueint;
		  data->sunshine = cJSON_GetObjectItem(contentObj,"sunshine")->valueint;
		
		  result = 1;
	
	}
	
	//切记用完了，要删除
	cJSON_Delete(root);
	return result;

}